import java.text.SimpleDateFormat

class Blog {
def title
def link
def fileName
def commentLink
def category
def pubDate
def content
def origContent
def folder
def cnDate
def simpleDate
def webPath
def filePath
List tagList=[]
def summary


public init()

{
	/* 设置页面显示用的时间 */
	cnDate=GenUtil.procDate(pubDate,"yyyy年MM月dd日 HH:mm:ss");
	/* 设置sitemap用的时间 */
	simpleDate=GenUtil.procDate(pubDate,"yyyy-MM-dd");
	
	initTagList();
	
	/* 设置文件名*/
	initFileName();
	/* 设置目录，这里为archive下按照日期生成的目录 */
	folder="archive"+Config.separator+GenUtil.procDate(pubDate,Config.artileFolder);
	File file=new File(Config.topFolder+folder);
	// 创建目录
	if(!file.exists())
	{
		file.mkdirs();
	}
	
	/* 文章在文件系统中的路径 */
	filePath=Config.topFolder+folder+Config.separator+fileName;
	
	/* 文章在web中的路径 */
	webPath="/archive/"+GenUtil.procDate(pubDate,"yyyy/MM/dd/")+getFileName();
	/* 初始化content,此处主要是替换掉原来的tag */
	initContent();
	
	/* 初始化summary */
	
	
	
}

public initContent()
{
	content=origContent.trim();
	for(tag in getTagList())
	{	
		if(tag.equals("")) continue;
		def strP='<a href="http://technorati.com/tags/[^/]+/" rel=tag>'+tag+'</a>';
		def p= ~strP;
		def m=p.matcher(content);
		try{
		String replaceStr='<a href="/tags/'+Math.abs(tag.hashCode())+'.html">'+tag+'</a>'
		content=content.replace(m[0],replaceStr)
		}
		catch (Exception e)
		{
			println "replace content error "+title +"with tag :"+tag;
			e.printStackTrace();
		}
	}	
}

public String initFileName()
{
	def p= ~"\\d{3}\\.";
	def m=p.matcher(link);
	fileName=m[0]+"html";
}

public void initTagList()

{
	//返回tags
	//在content中用正则表达式检索
	def p= ~/\s{1}rel=tag>[^<]+</;
	def m=p.matcher(origContent);
	for(tag in m)
	{
		tagList.add(tag.substring(9,tag.length()-1));
	}
	tagList.unique();
}

}
